#pragma once
#include "../interface/ClientConfigInterface.hpp"
#include "../../tool/NetworkIOTool.hpp"

class ClientIOCPConfig : public ClientConfigInterface{
private:
    static ClientType::CONFIG_TYPE configType;
    static ClientType::EXECUTION_TYPE executionType;



public:

    //获取ID的服务器
    NetworkIOTool::PrePareServerInformation m_iDServerInfo;

    //转发信息的服务器
    NetworkIOTool::PrePareServerInformation m_forwardServerInfo;

public:

    /**
     *
     * @return
     */
    ClientType::CONFIG_TYPE getType() const override {
        return ClientIOCPConfig::configType;
    }

    /**
     *
     * @return
     */
    ClientType::EXECUTION_TYPE getExecutionType() const override {
        return ClientIOCPConfig::executionType;
    }

    ClientIOCPConfig() {
    }

    ~ClientIOCPConfig() {

    }
};

ClientType::CONFIG_TYPE ClientIOCPConfig::configType = ClientType::CLIENT_IOCP_CONFIG;
ClientType::EXECUTION_TYPE ClientIOCPConfig::executionType = ClientType::CLIENT_IOCP_EXECUTION;